Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Vertical transverse isotropic (VTI) solvers: Improve current one ("Fletcher" + add density) + Add other solver ("Zhang") #2816

Open
wants to merge 25 commits into
base: develop
Choose a base branch
from

Conversation

Bertbk
Copy link
Contributor

@Bertbk Bertbk commented Nov 10, 2023

A new solver for VTI that takes into account the density have been added. The previous one has been rename "Fletcher" and has now density for input too:

  • Add a new wave solvers AcousticVTIFletcherWaveEquationsSEM and AcousticVTIZhangWaveEquationsSEM
  • Remove AcousticVTIWaveEquationsSEM and all related files
  • Input file associated with the 2 new solvers
  • Unit test files for both solvers
  • Documentation is provided (docs/AcousticVTIWaveSEM.rst)

@Bertbk Bertbk self-assigned this Nov 10, 2023
@Bertbk Bertbk marked this pull request as ready for review November 10, 2023 22:12
@Bertbk Bertbk marked this pull request as draft January 16, 2024 02:57
@Bertbk Bertbk force-pushed the feature/Bertbk/AcousticVTIDensity branch from 947e381 to eceb3d1 Compare February 8, 2024 20:41
@Bertbk Bertbk marked this pull request as ready for review February 8, 2024 20:47
@Bertbk Bertbk changed the title Implementation of a wave propagation solver for vertical transverse isotropic (VTI) media with a density parameter Vertical transverse isotropic (VTI) solvers: Improve current one Fletcher (adding density) + Add other solver (Zhang) Feb 9, 2024
@Bertbk Bertbk changed the title Vertical transverse isotropic (VTI) solvers: Improve current one Fletcher (adding density) + Add other solver (Zhang) Vertical transverse isotropic (VTI) solvers: Improve current one ("Fletcher" + add density) + Add other solver ("Zhang") Feb 9, 2024
Copy link

codecov bot commented Feb 9, 2024

Codecov Report

Attention: Patch coverage is 82.58706% with 175 lines in your changes missing coverage. Please review.

Project coverage is 54.26%. Comparing base (bd75ec8) to head (7f4e77d).
Report is 2 commits behind head on develop.

Current head 7f4e77d differs from pull request most recent head d20f164

Please upload reports for the commit d20f164 to get more accurate results.

Files Patch % Lines
...anisotropic/AcousticVTIFletcherWaveEquationSEM.cpp 84.53% 58 Missing ⚠️
...qn/anisotropic/AcousticVTIZhangWaveEquationSEM.cpp 84.40% 58 Missing ⚠️
.../sem/acoustic/shared/AcousticMatricesSEMKernel.hpp 34.24% 48 Missing ⚠️
...em/acoustic/shared/AcousticTimeSchemeSEMKernel.hpp 42.85% 4 Missing ⚠️
...ropic/AcousticVTIFletcherWaveEquationSEMKernel.hpp 94.23% 3 Missing ⚠️
...sotropic/AcousticVTIZhangWaveEquationSEMKernel.hpp 94.00% 3 Missing ⚠️
...anisotropic/AcousticVTIFletcherWaveEquationSEM.hpp 66.66% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2816      +/-   ##
===========================================
+ Coverage    53.69%   54.26%   +0.56%     
===========================================
  Files         1010     1008       -2     
  Lines        85663    85841     +178     
===========================================
+ Hits         45998    46581     +583     
+ Misses       39665    39260     -405     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Bertbk Bertbk force-pushed the feature/Bertbk/AcousticVTIDensity branch from 6e21000 to b05396c Compare February 21, 2024 20:15
Copy link
Contributor

@acitrain acitrain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General comments: do not hesitate to take a look at the last PR of refactoring #3074

I think, from what I saw I did not forget things on my comments but in case of do not hesitate to take aloo, this PR is only for folder organisation but the nex file organization should not move

@Bertbk Bertbk added ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI labels Apr 22, 2024
@Bertbk Bertbk added the flag: requires rebaseline Requires rebaseline branch in integratedTests label May 15, 2024
@TotoGaz TotoGaz removed their request for review July 5, 2024 17:08
@Bertbk Bertbk force-pushed the feature/Bertbk/AcousticVTIDensity branch from d20f164 to 6f5f292 Compare October 11, 2024 19:08
@Bertbk Bertbk changed the title Vertical transverse isotropic (VTI) solvers: Improve current one ("Fletcher" + add density) + Add other solver ("Zhang") feat: Vertical transverse isotropic (VTI) solvers: Improve current one ("Fletcher" + add density) + Add other solver ("Zhang") Oct 11, 2024
Copy link
Contributor

@acitrain acitrain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except the two quick comments I add, everything looks good to me !

m_receiverCoordinates.freeOnDevice();
facesToNodes.freeOnDevice();
nodesToElements.freeOnDevice();
/* baseMesh.getNodeManager().localToGlobalMap().freeOnDevice();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can reactivate the freeOnDevice as we fix the bug (you can take a look to the isotropic acoustic to see which line you need to pkeep)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, done.

@@ -346,19 +382,19 @@ void AcousticVTIWaveEquationSEM::precomputeSurfaceFieldIndicator( DomainPartitio
ArrayOfArraysView< localIndex const > const faceToNodeMap = faceManager.nodeList().toViewConst();

/// array of indicators: 1 if a face is on on lateral surface; 0 otherwise
arrayView1d< localIndex > const lateralSurfaceFaceIndicator = faceManager.getField< acousticvtifields::LateralSurfaceFaceIndicator >();
arrayView1d< localIndex > const lateralSurfaceFaceIndicator = faceManager.getField< fields::acousticvtifields::AcousticLateralSurfaceFaceIndicator >();
/// array of indicators: 1 if a node is on on lateral surface; 0 otherwise
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure that you need fields::acoust... only the acousticvtifields should be enough

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: requires rebaseline Requires rebaseline branch in integratedTests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants